package com.liusy.event;

/**
 *  为事件添加监听器（调度，派分工具）接口
 *  
 *  未实现
 * 
 *  @author liusy 2012-04-5
 */
public interface IEventDispatcherListener {
	
	/**
	 * 使用 EventDispatcher 对象注册事件侦听器对象，以使侦听器能够接收事件通知。 IEventDispatcher 
	 * @param type
	 * @param listener
	 * @param useCapture
	 * @param priority
	 * @param useWeakReference
	 */
	public void addEventListener(String type, IListener listener, Boolean useCapture, int priority, Boolean useWeakReference);
	
	/**
	 * 将事件调度到事件流中。  IEventDispatcher 
	 * @param event
	 * @return
	 */
	public Boolean dispatchEvent(IEvent event);
	
	/**
	 * 检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 IEventDispatcher 
	 * @param type
	 * @return
	 */
	public Boolean hasEventListener(String type);
	
	/**
	 * 从 EventDispatcher 对象中删除侦听器。 IEventDispatcher 
	 * @param type
	 * @param listener
	 * @param useCapture
	 */
	public void removeEventListener(String type, IListener listener, Boolean useCapture);
	
	/**
	 * 检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 
	 * @param type
	 * @return
	 */
	public Boolean willTrigger(String type);
}
